/*
srkrt_main_struct.h
Ce Header contient la structure principale utilisée dans le jeu.
Il défini aussi les macros utilisée pour paramètrer cette structure.
*/

#ifndef INCLUDE_SRKRT_MAIN_STRUCT
#define INCLUDE_SRKRT_MAIN_STRUCT

#include <stdbool.h>
#include "srkrt_dynamic_stack.h"
#include "srkrt_dynamic_list.h"

/* Joueurs */
#define  PLAYER_1	-1
#define  PLAYER_2	1
#define  VOID         	0

/* type de partie */
#define HUMAN 		0
#define CPU 		1
#define ON_LINE		2 /* pour une partie en reseaux local */

/* niveau de jeu */
#define LEVEL_EASY	1
#define LEVEL_MEDIUM	3
#define LEVEL_HARD	5


/*
Cette structure représente une partie de Surakarta
*/
typedef struct {

	int board[6][6]; /* grille de jeu, les poins sont représentés par des Macros */
	int toPlay; /* Indique le joueur dont c'est le tour. */
	int player1Left,player2Left; /* nombre de pions restants a chaque joueur */
	Stack history; /* Pile contenant l'ensemble joués depuis le début de la partie. */
	int vs; /* type de la partie, indiquée par une macro. */
	int level; /* niveau de jeu, dans le cas d'une partie contre l'IA */

} Surakarta ;

#endif
